package com.indusfo.spc.mapper;

import com.indusfo.spc.pojo.Pro;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: louk
 * @Description:工序信息Mapper
 * @date: 2019/11/18 14:22
 *
 */

public interface ProMapper {
    /**
     * 主键字段查询单个工序
     * @author xuz
     * @date 2018/11/23 2:31 PM
     * @param lProId
     * @return java.util.List<com.indusfo.spc.pojo.Pro>
     */
    List<Pro> getPro(@Param("proId") Integer lProId);

    /**
     * 分页查询多个工序
     *
     * @author xuz
     * @date 2018/11/23 2:32 PM
     * @param pro
     * @return java.util.List<com.indusfo.spc.pojo.Pro>
     */
    List<Pro> listPros(Pro pro);

    /**
     * 删除工序
     *
     * @author xuz
     * @date 2018/11/23 2:32 PM
     * @param proIds , lDataState]
     * @return int
     */
    int deltePro(@Param("proIds") Long[] proIds, @Param("dataState") Integer dataState);

    /**
     * 查询分页总数
     *
     * @author xuz
     * @date 2018/12/3 3:18 PM
     * @param pro
     * @return int
     */
    int countPro(Pro pro);

    /***
     * 工序查询  排除数组中的数据
     *
     */
    List<Pro> listProIds(@Param("pro") Pro pro, @Param("proIds") Long[] proIds);

    /***
     * 工序查询分页总数  排除数组中的数据
     *
     */
    int countProIds(@Param("pro") Pro pro, @Param("proIds") Long[] proIds);

    /**
     * 查询工序名不能重复
     *
     * @author xuz
     * @date 2018/12/7 2:38 PM
     * @param pro
     * @return java.lang.Integer
     */
    Integer selectPros(Pro pro);


    /**
     * @author: louk
     * @Description: :新增工序重写
     * @date: 2019/9/5 13:42
     *
     */

    int insertSelective(Pro pro);

    int updateByPrimaryKeySelective(Pro pro);

    List<Pro> queryBadPhenoProList(@Param("pro") Pro pro, @Param("badphenoId") Integer badphenoId);
    int countBadPhenoProList(@Param("pro") Pro pro, @Param("badphenoId") Integer badphenoId);

    List<Pro> queryListProToInsert(Pro pro);

    Integer countProToInsert(Pro pro);
}